The present invention relates generally to the field of data monitoring, and more particularly to the statistical analysis of variables to extract correlations in data.
IT monitoring products continuously monitor data, store it in repositories, categorize and present the collected metrics in graphical dashboards. However, symptoms to low performance may be elusive. This makes it very difficult for administrators to efficiently perform quick root cause analysis of performance issues. Resolving performance issues is a big challenge as they are mostly ad-hoc in nature. Performance investigation time may be spent in determining what the cause of the performance issue is. The need to go through data/metrics and manually correlate the symptoms to periods of good vs bad performance may be time consuming.
A particular challenge come when analyzing SQL executions, processes, or functions, which contribute to the bad performance. As many SQLs are executed per a particular monitoring interval, it can become exceedingly difficult to determine which SQLs/pattern of SQLs are executing inefficiently, or deviating from their average execution time, during periods of bad performance. It may be advantageous to determine which SQLs have the strongest correlation to database performance, or which SQLs have the greatest impact on a reduction in performance. The complexity increases when such analysis is being done across several intervals to reliably identify candidates for SQL tuning.